import Axios from 'axios';

const baseURL = process.env.NODE_ENV === 'development' ? 'http://127.0.0.1:5000' : 'http://admin.yuanyelog.com';
const axios = Axios.create({
  baseURL,
  timeout: 20000, // 请求超时 20s
  headers: {}
});

// 前置拦截器（发起请求之前的拦截）
axios.interceptors.request.use(
  // TODO: 根据项目实际情况来对 response 做处理
  (response) => {
    return response;
  },
  (error) => Promise.reject(error),
);

// 后置拦截器（获取到响应时的拦截）
axios.interceptors.response.use(
  // TODO: 根据项目实际情况来对 response 做处理
  (response) => {
    const { data } = response;
    return data;
  },
  (error) => {
    if (error.response && error.response.data) {
      const code = error.response.status;
      const msg = error.response.data.message;
      console.error(`Code: ${code}, Message: ${msg}`);
      console.error('[Axios Error]', error.response);
    } else {
      console.error(`${error}`);
    }
    return Promise.reject(error);
  },
);

export default axios;
